﻿Public Class Oggetto
  Implements IDisposable

#Region "IDisposable Support"
  Private disposedValue As Boolean ' Per rilevare chiamate ridondanti

  ' IDisposable
  Protected Overridable Sub Dispose(ByVal disposing As Boolean)
    If Not Me.disposedValue Then
      If disposing Then
        ' TODO: eliminare stato gestito (oggetti gestiti).
      End If

      ' TODO: liberare risorse non gestite (oggetti non gestiti) ed eseguire l'override del seguente Finalize().
      ' TODO: impostare campi di grandi dimensioni su null.
    End If
    Me.disposedValue = True
  End Sub

  ' TODO: eseguire l'override di Finalize() solo se Dispose(ByVal disposing As Boolean) dispone del codice per liberare risorse non gestite.
  'Protected Overrides Sub Finalize()
  '    ' Non modificare questo codice. Inserire il codice di pulizia in Dispose(ByVal disposing As Boolean).
  '    Dispose(False)
  '    MyBase.Finalize()
  'End Sub

  ' Questo codice è aggiunto da Visual Basic per implementare in modo corretto il modello Disposable.
  Public Sub Dispose() Implements IDisposable.Dispose
    ' Non modificare questo codice. Inserire il codice di pulizia in Dispose(ByVal disposing As Boolean).
    Dispose(True)
    GC.SuppressFinalize(Me)
  End Sub
#End Region

End Class
